perm filename INTEG2.AX[258,JMC]1 blob
sn#144960 filedate 1975-02-08 generic text, type T, neo UTF8
00100 COMMENT$ Here is a set of first order axioms for the integers based on
00200 the successor operation written SUCC and the predecessor operation
00300 written PRED. While the axioms don't mention sets, they are compatible
00400 with a later imbedding into set theory, because the SORT mechanism of
00500 FOL relativizes the axioms to the domain NATNUM, so other domains are
00600 possible. These axioms contain more than is logically necessary in
00700 order to make proofs easier.$
01300
01400
01500 DECLARE INDVAR I I1 I2 I3 J J1 J2 J3
01600 K K1 K2 K3 L L1 L2 L3
01700 M M1 M2 M3 N N1 N2 N3
01800 ε NATNUM;
01900 DECLARE OPCONST SUCC: NATNUM → NATNUM [PRE];
02000 DECLARE OPCONST PRED: NATNUM → INTEGER [PRE];
02100 DECLARE INDVAR X Y Z;
02200 DECLARE PREDPAR P(NATNUM);
02300
02400
02500 AXIOM PRED: ∀N.(¬N=0 ⊃ NATNUM(PRED N));;
02600
02700 AXIOM PEANO: ∀N.(¬SUCC N = 0),
02800 ∀N.PRED SUCC N = N,
02900 ∀N.(¬N=0 ⊃ SUCC PRED N = N);;
03000
03100 AXIOM ONE: SUCC 0 = 1;;
03200
03300 AXIOM INDUCTION:P(0) ∧ ∀N.(P(N) ⊃ P(SUCC N)) ⊃ ∀N.P(N);;
03400
03500
03600 COMMENT$ The rest of these axioms are really just definitions.$
03700
03800 DECLARE OPCONST +(NATNUM,NATNUM)=NATNUM[R←475,L←470];
03900 DECLARE PREDCONST ≥(NATNUM,NATNUM)[INF];
03950 DECLARE PREDCONST >(NATNUM,NATNUM)[INF];
04000 DECLARE OPCONST *(NATNUM,NATNUM)=NATNUM[R←555,L←550];
04100 DECLARE OPCONST -(NATNUM,NATNUM)=INTEGER[R←455,L←450];
04200
04300 AXIOM PLUS: ∀M.(M+0=M),
04400 ∀M N.(M+SUCC N =SUCC(M+N)),
04500 ∀M N.(M+N=N+M)
04600 ∀M N K.M+(N+K)=(M+N)+K
04700 ;;
04800
04900 AXIOM TIMES: ∀M. M*0=0,
05000 ∀M.M*1=1,
05100 ∀M N. M*SUCC N = M*N+M,
05200 ∀M N. M*N=N*M,
05300 ∀M N K. M*(N*K)=(M*N)*K
05400 ;;
05500
05600 AXIOM DISTRIB: ∀M N K.M*(N+K)=M*N+M*K;;
05700
05800
05900 AXIOM MINUS: ∀M N. (M ≥ N ⊃ NATNUM(M-N)),
06000 ∀M. M-0 = M,
06100 ∀M N. (M - SUCC N = PRED(M - N)),
06200 ∀N.N-N=0,
06300 ∀M N K.(M+N)-K=M+(N-K);;
06400
06500
06600 AXIOM GREATER: ∀M. M≥0,
06700 ∀M. (0≥M ⊃ M=0),
06800 ∀M N. (M≥N ≡ PRED M ≥ PRED N),
06900 ∀M N.(M>N ≡ M≥N ∧ ¬(M=N)),
07000 ∀M N.(M≥N ≡ ∃K.(M=N+K)),
07100 ∀M N K. (M>N ∧ N≥K ⊃ M>K),
07200 ∀M N K. (M≥N ∧ N>K ⊃ M>K),
07300 ∀M N K. (M≥N ∧ N≥K ⊃ M≥K);;